package com.free.company.member;

import com.free.company.member.constants.SysContants;
import com.free.ext.spring.context.AppContext;
import com.free.ext.wechat.ENUM_ACCOUNT_TYPE;
import com.free.ext.wechat.WxAccntManager;
import com.free.ext.wechat.WechatAccount;
import com.free.messager.IMessager;
import com.free.messager.MessagerManager;
import com.free.utils.PropertiesResourceUtils;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;

import java.util.Properties;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
public class MemberApplicationRunner implements ApplicationRunner {

    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/
    @Override
    public void run(ApplicationArguments applicationArguments) throws Exception {
        IMessager mesager = AppContext.getBean(IMessager.class);
        MessagerManager.current().setMessager(mesager);

        String currentEnv = SysContants.instance().getCurPath();
        Properties properties = PropertiesResourceUtils.load( currentEnv + "/wxaccnt.properties");
        String appid = PropertiesResourceUtils.getPropertyValue(properties,"appid");
        String appsecret = PropertiesResourceUtils.getPropertyValue(properties,"appsecret");
        String authinfourl = PropertiesResourceUtils.getPropertyValue(properties,"authinfourl");
        SysContants.instance().setAppid(appid);
        SysContants.instance().setAppsecret(appsecret);
        SysContants.instance().setAuthinfoUrl(authinfourl);

        WechatAccount wcAcc = new WechatAccount(appid,appsecret,ENUM_ACCOUNT_TYPE.company);
        WxAccntManager.addAccount(wcAcc);
    }
    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
